Semiconductor memory

ABSTRACT

In a read only semiconductor memory, signal lines such as data lines are subjected to an undesired parasitic capacitance which restricts the signal changing rate along the lines. The parasitic capacitance which is driven by a memory cell will become increasingly higher as the memory capacity is increased. According to the present invention, a differential sense amplifier is used to amplify the data signals which are read out of the memory cell. At the same time, a dummy cell is used to generate a reference potential which is to be referred to by the differential sense amplifier. In particular, a dummy cell arrangement is provided wherein each dummy cell includes at least two series-connected semiconductor elements to provide a predetermined dummy cell conductance to establish a reference value. Another aspect of the invention lies in the use of column switches between a common data line and data lines of the memory arrays for coupling only one data line at a time through the column switch to the sense amplifier. In addition, a built-in error-correcting-code circuit is provided which operates in conjunction with a selecting circuit so that memory cells delivering a predetermined set of data are spaced apart from one another by at least predetermined distances to reduce the likelihood of errors from immediately adjacent memory cells.

This application is a continuation of application Ser. No. 550,669 filed on Jul. 10, 1990 now abandoned which is a continuation of application Ser. No. 326,653 filed Mar. 21, 1989, now U.S. Pat. No. 4,943,967, which is a continuation of application Ser. No. 037,048 filed Apr. 10, 1987, now U.S. Pat. No. 4,817,052, which is a continuation of application Ser. No. 466,483 filed Feb. 15, 1983, now U.S. Pat. No. 4,703,453.

BACKGROUND OF THE INVENTION

The present invention relates to a semiconductor memory which is constructed of a monolithic semiconductor integrated circuit and, more particularly, to a Read Only Memory (ROM).

In recent years, the demand for a semiconductor memory having a large memory capacity has increased due to the progress in semiconductor technology and the development in application techniques for semiconductor devices. Unfortunately, a number of problems arise in attempting to manufacture such ROM's having a large memory capacity.

For example, the number of memory cells coupled to data lines is increased with the increase in the memory capacity. Moreover, the undesired stray or parasitic capacitance, which is liable to be coupled to the data lines, is increased with the increase in the number of the memory cells. As a result, in a data read out operation, the changing rate of the data signals, which are fed to the data lines by a selected memory cell, is restricted by the relatively large capacitance of the data lines. In other words, the driving ability of the data lines by the selected memory cell is relatively deteriorated.

The signal lines such as the data lines are frequently elongated when it is intended to increase the memory capacity. In this case, since the signal lines themselves have resistances which cannot be neglected, and since undesired capacitances having relatively large values are coupled to the signal lines, these lines experience relatively long signal delays.

In case it is intended to fabricate a semiconductor integrated circuit device having a large capacity, consideration is taken to scale down the circuit elements or wiring layers constructing the semiconductor integrated circuit device with a view to achieving a variety of objects. For example, this can prevent a reduction in the fabrication yield from being caused by the crystal defect of a semiconductor substrate. It can also prevent the area of this semiconductor substrate from being remarkably increased, and the power consumption from being highly increased. On the other hand, the signal lines thus scaled down have relatively high resistances by themselves, and thus experience long signal delays.

In order to make the responding rate of a high-capacity ROM equal to or higher than that of a low-capacity ROM, it is necessary to eliminate the adverse effects which are caused by the relative reduction in the driving ability of the data lines by the memory cell and by the increase in the delay time periods of the signal lines. Also, it is desirable from various standpoints that the power consumption of a ROM be relatively low.

On the other hand, the defects of the memory cells raise special problems in the high-capacity ROM. In this regard, in the prior art, a well-known information therapy is an error correcting code which will be hereinafter referred to as "ECC". One aspect of the present invention is that a circuit for correcting errors by the use of the aforementioned ECC (which circuit will be abbreviated hereinafter as the "ECC circuit") is built in a semiconductor memory.

SUMMARY OF THE INVENTION

It is, therefore, an object of the present invention to provide a semiconductor memory which is capable of conducting high-speed operations.

Another object of the present invention is to provide a semiconductor memory having a low power consumption.

Still another object of the present invention is to provide a semiconductor memory which is intended to improve the fabrication yield.

A further object of the present invention is to provide a semiconductor memory which is intended to improve the substantial function of the built-in ECC circuit and to simplify the circuit construction.

Other objects of the present invention will become apparent from the following description taken with reference to the accompanying drawings.

To attain these and other objects in accordance with one aspect of the present invention, a differential sense amplifier is used to amplify the data signals which are read out of the memory cell. At the same time, a dummy cell is used to generate a reference potential which is to be referred to by the differential sense amplifier. By the use of the proper dummy cell, the differential sense amplifier is enabled to amplify the data signals quite rapidly. As a result, it is possible to provide a semiconductor memory which can operate at a high speed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a circuit block diagram showing an ROM according to one embodiment of the present invention;

FIGS. 2A, 2B and 2C are specified circuit diagrams showing the circuit blocks DSA₁, M-ARY₁, MPX₁, SA, MPX₃ and DSA₃ of FIG. 1;

FIG. 3 is a circuit diagram showing an X-decoder;

FIG. 4 is a circuit diagram showing a Y-decoder;

FIG. 5 is a circuit diagram showing an ECC circuit;

FIG. 6 is a circuit diagram showing an exclusive OR circuit; and

FIG. 7 is a diagram illustrating the operational waveforms of the circuits of FIGS. 2A to 2C.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention will be described in detail in the following in connection with the embodiments thereof.

FIG. 1 is a block diagram showing one embodiment where the present invention is applied to a mask ROM.

The ROM shown in the same figure is equipped with four memory arrays M-ARY₁ to M-ARY₄, although not necessarily limited thereto, has a total memory capacity of about 1 megabits. Each of the memory arrays M-ARY₁ to M-ARY₄ is composed of memory arrays, which are arranged in 512 rows×608 columns, and has a memory capacitance of 311,296 bits. The circuit blocks shown are respectively formed in a semiconductor substrate by the well-known MOS circuit integrating technique. In FIG. 1, the arrangement of the major circuit blocks is made to correspond to the actual geometrical one on the semiconductor substrate.

The insulated gate field effect transistors (which will be shortly referred to as "MOSFETs") for constructing each of the circuit blocks are of an enhancement mode N-channel type unless otherwise specified.

The respective memory arrays M-ARY₁ to M-ARY₄ have their row addresses selected by X decoders X-DCR₁ and X-DCR₂ and their column addresses selected by a Y decoder Y-DCR₁.

The two X decoders X-DCR₁ and X-DCR₂ have word drivers which will become apparent from the following descriptions, and generate 2¹⁰ (=1024) decoded output signals by decoding row address signals A₀ to A₉. The X decoder X-DCR₁ is arranged between the two memory arrays M-ARY₁ and M-ARY₂ which are arranged at the left-hand side of the drawing, whereas the X decoder X-DCR₂ is arranged between the memory arrays M-ARY₃ and M-ARY₄ which are arranged at the right-hand side of the drawing. The 512 decoded output signals generated by the X decoder X-DCR₁ are applied commonly to the memory arrays M-ARY₁ and M-ARY₂. Likewise, the 512 decoded output signals generated by the X decoder X-DCR₂ are applied commonly to the memory arrays M-ARY₃ and M-ARY₄.

The Y decoder Y-DCR₁ generates 32 decoded output signals by decoding column address signals A₁₀ to A₁₄ of five bits. To the memory arrays M-ARY₁ to M-ARY₄, there are respectively coupled multiplexors MPX₁ to MPX₄ which are made operative to act as column switches. Each of the multiplexors MPX₁ to MPX₄ is fed with the 32 decoded signals of the Y decoder Y-DCR₁. One is selected from 32 columns by each of the multiplexors MPX₁ to MPX₄. Since each of the memory arrays M-ARY₁ to M-ARY₄ has 608 columns, 19 columns are simultaneously selected from each memory array in response to one Y-decoded output signal.

In accordance with the construction thus far described, 38 memory cells are simultaneously selected in response to one X-decoded output signal and one Y-decoded output signal.

In this embodiment, a sense amplifier SA for amplifying the information signal (or the data signal) which is generated by the selected memory cell is constructed of a differential circuit. The sense amplifier SA is made operative to amplify the voltage difference between the data signal, which is read out of the memory cell, and a predetermined reference voltage. In order to cause the voltage difference, which is to be amplified, to accurately correspond to the content of the data signal read out of the memory cell and to reach a desired level within a relatively short time period, the reference voltage is set not at an absolutely constant level but at a relative level. In other words, the reference voltage is set at such a value as to correspond to the potential at the column to which the memory cell selected is coupled.

In accordance with this embodiment, the column lines of the memory arrays are fed with the reference voltage, although the invention is not limited to this. In order to set the reference voltage at a proper level, dummy cell arrays DSA₁ to DSA₄ are provided which respectively correspond to the memory arrays M-ARY₁ to M-ARY₄. The dummy cell arrays DSA₁ to DSA₄ are coupled to the column lines of the corresponding memory arrays. The dummy cell arrays DSA₁ and DSA₂ are respectively selected by the X decoders X-DCR₁ and X-DCR₂.

The dummy cell arrays DSA₁ and DSA₂, which are arranged at the left-hand side of FIG. 1, and the dummy cell arrays DSA₃ and DSA₄, which are arranged at the right-hand side, are alternatively selected in response to the highest bit signal A₉ of the X address signals A₀ to A₉. These address signals are described as having 10 bits although the invention is not especially limited to this. The dummy cell arrays DSA₁ and DSA₂, which are coupled to the memory arrays M-ARY₁ and M-ARY₂, are selected when the respective row lines of the memory arrays M-ARY₃ and M-ARY₄ are selected by the X decoder X-DCR₂. On the contrary, the dummy cell arrays DSA₃ and DSA₄, which are coupled to the memory arrays M-ARY₃ and M-ARY₄, are selected when the respective row lines of the memory arrays M-ARY₁ and M-ARY₂ are selected.

The respective column lines of the memory array M-ARY₁ of FIG. 1 are paired with the respective column lines of the memory array M-ARY₃. On the other hand, the multiplexor MPX₁ is paired with the multiplexor MPX₃. In the data read out operation, the same signal as that which is fed from the Y decoder Y-DCR₁ to the multiplexor MPX₁ is also fed to the multiplexor MPX₃. As a result, the sense amplifier SA is fed with the data signal to be amplified by way of one of the multiplexors MPX₁ and MPX₃ and with the reference voltage by way of the other multiplexor. Likewise, the column lines of the memory array M-ARY₂ are paired with the column lines of the memory array M-ARY₄, and the multiplexors MPX₂ and MPX₄ are paired with each other.

The data signals of 38 bits, which are read out of the 38 memory cells selected in response to one of the X-decoded output signals and one of the Y-decoded output signals, are amplified by the sense amplifier SA and are fed to an ECC circuit so that their errors are corrected by the ECC circuit. In the signals of 38 bits fed to the ECC circuit, 32 bits are used as the data signals while the remaining 6 bits are used as the parity signals. In response thereto, the ECC circuit generates data signals of 32 bits, which have their errors corrected.

The information signals (or the output data) of 32 bits having their errors corrected by the ECC circuit are fed to a multiplexor MPX₀ which is provided to reduce the number of the external terminals of the ROM. The respective 8 bits of the output data signals of 32 bits are selected by the action of the multiplexor MPX₀. The data signals of 8 bits are fed through an output buffer DOB to the external terminals DO₀ to DO₇ of the ROM. As a result, the data signals of 32 bits of the ECC circuit are transferred sequentially four times to the external terminals DO₀ to DO₇. For these sequential output operations, address signals A₁₅ and A₁₆ are used. The shown ROM is equipped with a Y decoder Y-DCR₂ for decoding the address signals A₁₅ and A₁₆, although not especially limited thereto. The multiplexor MPX₀ has its operations controlled by the decoded signals which are generated by the Y decoder Y-DCR₂. As a result, the data signals of 32 bits are consecutively fed to the external terminals DO₀ to DO₇ in accordance with the fact that the states of the address signals A₁₅ and A₁₆ of 2 bits are consecutively changed.

The ROM shown in FIG. 1 is equipped with an address buffer ADB. This address buffer ADB receives the external address signals A₀ to A₁₆ through the external terminals thereby to generate internal address signals a₀ and a₀ to a₁₆ and a₁₆ at true and false levels, which are to be fed to the decoders. The address buffer ADB has its operations controlled by the chip select signal Ce which is fed from a control circuit CNT.

This control circuit CNT generates the chip select signal Ce in response to an external chip select signal CE which is to be fed to the external terminals. The control circuit CNT is equipped with a signal generator (not shown) for generating precharge pulses φ_(pc), as well as with such signal generators φ_(x) -Gen and φ_(y) -Gen as will become apparent from FIGS. 3 and 4.

The address signals which are required by the internal signal generators of the control circuit CNT are fed from the address buffer ADB.

The not-shown signal generator for generating the precharge pulses φ_(pc) can be constructed of a circuit for detecting the change in the level of at least one of the address signals A₀ to A₁₆ and a suitable circuit such as a pulse generating circuit. The precharge pulses φ_(pc) are set at a high level for a predetermined time period when the chip select signals are fed to the terminal CE and when at least one of the signals A₀ to A₁₄ of the address signals A₀ to A₁₆ is charged while the chip select signals are being fed. Such signal generators for producing precharge pulses are well known and, accordingly, not detailed herein.

To the memory arrays, there are respectively coupled such precharge elements as will be made apparent from the later description. The data lines (i.e., the column lines) of the respective memory arrays are reset by the fact that the precharge elements are operated by the precharge pulses φ_(pc). The data can be read out rapidly by virtue of the fact that the respective data lines are forcibly reset irrespective of their previous levels. The precharge pulses φ_(pc) are also used for resetting the sense amplifier.

The ROM according to the embodiment shown is used as a character generator for producing Chinese characters, although it is not especially limited thereto. The pattern of one character is displayed with display dots which are arranged in a matrix form of 32 rows×and 32 columns, for example. Since one letter requires data signals of 32 bits×32 bits, the ROM of the embodiment can store 1024 character patterns.

FIGS. 2A to 2C show specific circuits of the aforementioned memory arrays, multiplexors, dummy cell arrays and the sense amplifier.

The memory arrays M-ARY₁ and M-ARY₃ are made to have a substantially identical construction. The memory array M-ARY₁ (see FIG. 2A) has 512 word lines W₀ to W₅₁₁ which are elongated in the vertical direction of the drawing. The 512 word lines of the memory array M-ARY₁ are made common with the 512 word lines of the memory array M-ARY₂ which is shown in FIG. 1. Likewise, the memory array M-ARY₃ (see FIG. 2B) has 512 word lines which are elongated in the vertical direction of the drawing. The 512 word lines of the memory array M-ARY₃ are also made common with the 512 word lines which are provided in the memory array M-ARY₄ shown in FIG. 1. The respective word lines are considered as row lines.

The memory array M-ARY₁ also has grounding lines and data lines which are elongated in the horizontal direction of the drawing and which are alternately arranged. As shown in FIG. 2A, the first line G_(a0) is the grounding line whereas the second line D_(a0) is the data line. In the drawing, the respective grounding lines are designated at suffix G whereas the respective data lines are deposited at suffix D.

The data lines can be considered to respectively construct the column lines. The memory array M-ARY₁ of FIG. 1 has the 608 column lines, as has been described hereinbefore. In the memory array M-ARY₁ of FIG. 2A, however, one data line is made to substantially correspond to two column lines, as will become apparent from the following description. As a result, the number of the data lines belonging to the memory array M-ARY₁ is effectively set not at 608 but at half of this, i.e., 304. The ROM can be highly integrated by this reduction in the number of the data lines.

The respective data lines of the memory array M-ARY₁ are coupled through the multiplexor MPX₁ to common data lines CD₀ and CD₁ and so on. Since each data line substantially corresponds to two column lines, 16 (i.e., 32/2) data lines, e.g., D_(a0) to D_(a15), are made to correspond to one common data line, e.g., CD₀.

In the memory array M-ARY₁, memory MOSFETs M₀ to M₃₁ are formed to respectively correspond to the nodes of the aforementioned word and data lines. Each of the memory MOSFETs has its gate connected with the corresponding word line, its drain connected with the corresponding data line and its source connected with the corresponding grounding line. With the respective data lines and the respective grounding lines other than a grounding line G_(a0), which is arranged at the end portion of the memory array M-ARY₁, there are commonly connected the drains and sources of the respective memory MOSFETs M₀, M₁, M₂ and so on which are connected with an identical word line. Although not especially limited thereto, the grounding lines and the data lines are constructed of the semiconductor regions which are integrally formed with the semiconductor regions constructing the sources and drains of the memory MOSFETs. Each of these memory MOSFETs has its threshold voltage predetermined to correspond to the information "0" or "1", as will be explained hereinafter.

In accordance with the present embodiment, the multiplexor MPX₁ is constructed of transmission gate MOSFETs which are substantially interposed between the data lines and the common data lines, and switch MOSFETs which are interposed between the respective grounding lines and a common grounding line CG_(a). For example, the data lines D_(a0) to D_(a15) are coupled to the common data line CD₀ through transmission gates MOSFETs S_(a0) to S_(a15) which construct the multiplexor. The common data line CD₀ as connected with one of the input terminals of the sense amplifier. On the other hand, the grounding lines G_(a0) to G_(a15) are connected with the common grounding line CG₁ through switch MOSFETs Q_(a0) to Q_(a15) which act as column switches.

The MOSFETs S_(a0) to S_(a15) have their gates respectively fed with the decoded signals C₀ to C₁₅ which are generated by the Y address decoder Y-DCR₁ shown in FIG. 1. The decoded signals C₀ to C₁₅ are generated by decoding the address signals A₁₀ to A₁₃. The MOSFETs Q_(a0) to Q_(a15) have their gates fed with the decoded signals C₀ to C₁₅ and the decoded signals C₀₁ to C₁₅₀₀ which are generated by logical circuits (not shown) which are made receptive of the address signal A₁₄. It is necessary to complementarily switch the switch MOSFET, which is coupled to the grounding line arranged at one side of the data line to be selected, and the switch MOSFET which is coupled to the grounding line arranged at the other side of that data line. It is also necessary that the switch MOSFET such as the MOSFET Q_(a1), which is coupled to the grounding line interposed between the two data lines, be driven into conduction when the memory MOSFET interposed between that grounding line and one of the data lines is to be selected and when the memory MOSFET interposed between that grounding line and the other data line is to be selected. For example, therefore, the aforementioned decoded signal C₁₅₀₀ is preset at such as value as to satisfy the relationship expressed by the following logical equation (1), whereas the aforementioned decoded signal C₀₁ is similarly preset at such a value as to satisfy the relationship expressed by the following logical equation (2):

    C.sub.1500 =C.sub.0 ·a.sub.14 +C.sub.15 ·a.sub.14 (1);

    and

    C.sub.01 =C.sub.0 ·a.sub.14 +C.sub.1 ·a.sub.14 (2).

In FIG. 2A, the grounding lines which are arranged above the respective data lines D_(a0) to D_(a15) are selected by the AND signals of the decoded signals C₀ to C₁₅ and the internal address signal a₁₄, whereas the grounding lines which are arranged below the respective data lines D_(a0) to D_(a15) are selected by the AND signals of the decoded signals C₀ to C₁₅ and the address signal a₁₄. In this way, it is possible to control whether a memory cell above the data line or below the data line is selected when the data line has received a signal from the Y decoder.

In accordance with the present embodiment, the dummy cells DS_(a0) to DS_(a31) are respectively coupled to the data lines. The dummy cells are made to all have an identical construction to one another. In FIG. 2A, only the circuit of the dummy cell DS_(a0) is specifically shown so as to simplify the illustration. The dummy cell DS_(a0) is constructed, although not especially limited thereto, of MOSFETs Q_(d1) and Q_(d2) which are connected in series with each other and which are adapted to be switched by an internal address signal a₉ and of a MOSFET Q_(s) which is connected in series with the MOSFETs Q_(d1) and Q_(d2) and which is adapted to be switched by the decoded signal C₀.

The MOSFETs Q_(d1) and Q_(d2) are made to have the same size as that of the memory MOSFETs of the memory array, although not especially limited thereto. As will be explained in more detail hereinafter, the memory arrays are constructed so that some of the memory MOSFETs have a low threshold voltage while others have a high threshold voltage. The MOSFETs Q_(d1) and Q_(d2) are fabricated simultaneously with and in the same size as those of the memory MOSFETs which have a low threshold voltage. As a result, the composite conductance of two MOSFETs Q_(d1) and Q_(d2) when they are conductive is made to have about half the value of the conductance of the single memory MOSFET having the low threshold voltage when the latter is selected. On the other hand, the memory MOSFETs which have a high threshold voltage are held in their substantially conducting states irrespective of the fact that they are selected or not. As a result, the composite conductance of the MOSFETs Q_(d1) and Q_(d2) of the dummy cells is made to have a higher conductance than that of the memory MOSFET having a high threshold voltage when the latter is selected. In other words, the composite conductance of the MOSFETs Q_(d1) and Q_(d2) takes an intermediate value between the conductance of the memory MOSFET having the low threshold voltage and the conductance of the memory MOSFET having the high threshold voltage.

The MOSFET Q_(s) of the dummy cell is provided to reduce the power consumption at the dummy cell which are not selected. The MOSFET Q_(s) has its size so set as to have a sufficiently higher conductance than the composite one of the MOSFETs Q_(d1) and Q_(d2). As a result, the conductance of the dummy cell in the selected state, i.e., the conductance between the output node DN of the dummy cell and the ground potential point of the circuit is substantially equal to the composite conductance of the MOSFETs Q_(d1) and Q_(d2).

As has been describer hereinbefore, the MOSFETs Q_(d1), Q_(d2) and Q_(s) constructing the dummy cell are formed simultaneously with the memory MOSFETs. As a result, it is possible to provide these dummy cells while avoiding any increase in the numbers of the fabrication steps of the ROM. Moreover, it is possible to make effective use of the well-known feature of the integrated circuit fabrication technique that there are few characteristics dispersions between the circuit elements which are simultaneously formed. More specifically, in case the characteristics of the memory MOSFETs, e.g., the conductances thereof are changed by the dispersions or the like in the fabrication conditions, similar characteristics changes occur in the aforementioned MOSFETs Q_(d1) and Q_(d2). As a result, the composite conductance of the MOSFETs Q_(d1) and Q_(d2) can be reduced to about a half of the conductance of the memory MOSFETs having the low threshold voltage without being substantially influenced by the dispersions or the like in the fabrication conditions. Thus, it is possible to fabricate a memory which can enjoy a high yield.

In accordance with the present embodiment, moreover, there are respectively coupled to the data lines the precharge MOSFETs Q_(p0) and Q_(p1) and so on which are adapted to be switched by the precharge pulses φ_(pc). These precharge pulses φ_(pc) are generated by the control circuit CNT shown in FIG. 1, as has been described hereinbefore. The precharge pulses φ_(pc) are set, as has been described hereinbefore, at the high level for a predetermined time period when the address signals are to be fed from the address buffer ADB. The control circuit CNT also generates the chip select signal Ce which is to be fed to such circuits as are shown in FIGS. 3 and 4. The chip select signal Ce is set at a high level in accordance with the fact that the chip select signal CE coming from the outside of the IC is at a high level, for example. The chip select signal Ce thus set is fed to the address buffer, the decoders and so on. The address buffer, the decoders and so on are activated in response to the high level of the chip select signal Ce and are inactivated in response to the low level of the same signal. Thus, unnecessary power consumption of the ROM as a whole can be reduced by the controls of the respective circuits by the chip select signal Ce.

In FIG. 2B, a sense amplifier SA_(d0) is constructed of latch type amplifying MOSFETs Q₄ and Q₅ which have their gates and drains cross-linked, and of precharge MOSFETs Q₆ and Q₇ which are connected with the respective drains of the former MOSFETs Q₄ and Q₅.

By the fact that the precharge MOSFETs Q₆ and Q₇ are made to have relatively high conductances, the paired input and output terminals of the sense amplifier SA_(d0) are precharged to a high level when the precharge pulses φ_(pc) are generated which is substantially equal to a power source voltage V_(cc). The paired input and output terminals of the sense amplifier SA_(d0) are fed with the output signals which come from the corresponding left and right memory arrays M-ARY₁ and M-ARY₃ by way of the common data lines CD₆ and CD₀. In the same manner, the sense amplifier SA_(d1) is fed with the output signals which come from the memory arrays M-ARY₁ and M-ARY₃ through the common data lines CD₁ and CD₁.

In each of the memory arrays, the writing operation of the information in the memory MOSFETs is conducted, although not especially limited thereto, by implanting impurity ions in the regions which are to be formed as the channels of the memory MOSFETs. In other words, the threshold voltage of the memory MOSFETs is determined by the impurity ion implantations. The channel-formed regions of the memory MOSFETs required to have the high threshold voltage, for example, are implanted with the impurity ions which have the conduction type inverted from the channel conduction type. On the other hand, no ion implantation for shifting the threshold value is conducted at the channel-formed regions of the memory MOSFETs which are required to have the low threshold voltage. As a result, the binary signal "1" or "0" can be written in the memory MOSFETs. In this case, although not especially limited thereto, the high threshold voltage of the memory MOSFETs, which is determined by the ion implantation, is made to correspond to the value "1" of the binary signal. The low threshold voltage of the memory MOSFETs into which no ions have been implanted in made to correspond to the value "0" of the binary signal.

As will be described in detail hereinafter, the read out operations are conducted by detecting whether the memory MOSFETs are rendered substantially conducting or non-conducting, when they are selected by the voltage applied between their gates and sources. In other words, the read out operations correspond to the detection of whether the conductance of the memory MOSFET selected is high or low. The reference for this detection of the level is given by the aforementioned dummy cells, as has been described hereinbefore.

Next, the operations of the mask type ROM of the present embodiment will be described in the following.

For this discussion, it is assumed that those of the decoded signals generated by the X decoder X-DCR₁ shown in FIG. 1, which are to be fed to the word line W₀, for example, are set at the high level together with those C₀ of the decoded signals generated by the Y decoder Y-DCR₁ shown in FIG. 1 by the suitable combinations of the address signals A₀ to A₁₃. With this assumption, the transfer MOSFETs S_(a0), S_(a16) and so on, which are coupled to the data lines D_(a0), D₁₆ and so on, are driven into conduction by the action of the decoded signal C₀. Accordingly, the memory MOSFETs M₀ and M₁, and M₃₂ and M₃₃, which have their drains coupled to the data lines D_(a0) and D₁₆ and their gates coupled to the aforementioned word line W₀, are brought into states in which they can be selected.

It is determined by the address signal A₁₄ which of the memory MOSFETs M₀ or M₁ is to be selected and which of the MOSFETs M₃₂ or M₃₃ is to be selected. For example, in case the internal address signal a₁₄ is set at the high level in accordance with the fact that the address signal A₁₄ is set at the high level, the decoded output signal C₀₁ of the Y decoder Y-DCR₁ is accordingly set at the high level. As a result, the switch MOSFETs Q_(a1), Q_(a17) and so on are rendered conducting so that the grounding lines G_(a1), Ga₁₇ and so on are at the ground potential of the circuit. As a result, the potential at the word line W₀ is applied between the gate and source of the memory MOSFET M₁ of the two memory MOSFETs M₀ and M₂. In short, the memory MOSFET M₁ of a memory group (M₀ -M₃₁) is selected. In a similar manner, the MOSFET M₃₃ of a second memory group M₃₂ -M₆₃) is likewise selected from M₃₂ and M₃₃.

When the word line W₀ is selected, incidentally, none of the decoded signals which will raise the potentials of the word lines W₅₁₂ to W₁₀₂₃ of the memory array M-ARY₃ to the high level is generated by the X-decoder X-DCR₂, as has been described hereinbefore. As a result, none of the memory MOSFETs constructing the memory array M-ARY₃ is selected.

Next, the selection of the dummy cells will be described.

As has been described hereinbefore, the memory array M-ARY₁ is selected by the low level of the highest address signal A₉ of the address signals A₀ to A₉ of 10 bits, which are fed to the X decoder. At this time, in accordance with the address signal A₉, the internal address signal a₉ is set at the high level whereas the address signal a₉ is set at the low level. On the contrary, the memory array M-ARY₃ is selected by the high level of the highest address signal A₉.

Thus, in case the address signals A₀ to A₉ are so set that the memory MOSFET M₁ coupled to the word line W₀ in the memory array M-ARY₁ may be selected, the MOSFETs Q_(d1) and Q_(d2) of the respective dummy cells constructing the dummy cell array DSA₃ are rendered conductive by the high level of the internal address signal a₉. As a result, the dummy cell array DSA₃ is brought into its selectable state. At this time, the dummy cell array DSA₁ is not brought into its selectable state because the address signal a₉ is at the low level.

In the present embodiment, as has been described hereinbefore, the predetermined ones of the respective dummy cells which construct the dummy cell array DSA₃ in its selectable state are selected. In order to select the data lines, more specifically, the respective decoded signals generated by the Y decoder Y-DCR₁ are also fed to the MOSFET Q_(s) of each dummy cell. As a result, in case the memory MOSFETs M₁, M₃₃ and so on coupled to the word line W₀ are selected, the dummy cells DS_(b0), DS_(b16) and so on of the memory array M-ARY₃, are accordingly selected. The dummy cells coupled to the other data lines DS_(b1) to DS_(b15) are left unselected. As a result, of the not-shown parasitic capacitances, which are coupled to the respective data lines D_(b0), D_(b31) and so on precharged through the precharge MOSFETs, the parasitic capacitances coupled to the data lines D_(b1), D_(b15) and so on do not have their charges discharged through the dummy cells. Thus, it is possible to eliminate ineffective power consumption.

The memory MOSFET M₁ is made to have a conductance which can be determined in accordance with the memory information given, as has been described hereinbefore. As a result, the charges at the data line D_(a0), which has been precharged through the precharge MOSFET Q_(p0), begin to be released, when the memory MOSFET M₁ is selected, in accordance with the information which has been stored in that MOSFET M₁.

The dummy cell DS_(b0), which is selected simultaneously with the memory MOSFET M₁, has an intermediate conductance between the conductance of the memory MOSFET, which is stored with the information "1", and the conductance of the memory MOSFET which is stored with the information "0", as has been described hereinbefore. As a result, the charge at the data line D_(b0), which has been precharged through the precharge MOSFET, begins to be released, when the dummy cell DS_(b0) is selected, in accordance with the conductance of that dummy cell.

FIG. 7 illustrates the changing behaviors of the potentials V_(D) and V_(D) at the aforementioned paired data lines D_(a0) and D_(b0) with respect to time. In this figure, a broken line illustrates the potential change of the data line D_(b0) to which the dummy cell is coupled. On the other hand, a single-dotted line illustrates the potential change of the data line D_(a0) when the memory MOSFET M₁ is stored with the information "0", whereas a double-dotted line illustrates the potential change of the data line D_(a0) when the memory MOSFET M₁ is stored with the information "1".

The sense amplifier SA_(d0) illustrates the potential difference between those paired data lines D_(a0) and D_(b0) thereby to feed its amplified signal to common data lines D₀ ' and D₀ '.

In this case, the lines D_(a2) to D_(a15) of the data lines D_(a1) to D_(a15) of the memory array M-ARY₁ do not have their corresponding grounding lines selected. At a result, the precharge level of the data lines D_(a2) to D_(a15) is held at it is thereby to prevent any ineffective current consumption from being caused.

The data line D_(a1) is discharged in response to the fact that the memory MOSFET M₂ is rendered conductive by the selection of the word line W₀, for example, because the MOSFET Q_(a1) is conducting. As a result, ineffective power consumption, which would be caused if the charge of the data line is left unselected, is remarkably reduced according to the present embodiment.

As will be described with reference to FIGS. 5 and 6, in the present embodiment, a binary signal which is inverted from the binary signal to be stored is written in the memory MOSFETs constructing the memory arrays M-ARY₃ with a view to reducing both the number of the elements constructing the ECC circuit and the power consumption in the ECC circuit. More specifically, in case the memory MOSFET M₀ of the memory array M-ARY₃, for example, is to be stored with the binary signal "1", it is written with the binary signal "0" which is inverted from the foregoing binary signal "1". By this writing operation, a level corresponding to the binary signal stored in the memory MOSFET is always fed from the left-hand input and output terminals of the sense amplifier, no matter which memory array M-ARY₁ or M-ARY₃ might allow its memory MOSFET to be selected. From the right-hand input and output terminals of the sense amplifier, on the other hand, there is fed a level which corresponds to the binary signal inverted from the aforementioned one.

FIG. 3 is a circuit diagram showing the embodiments of the X-address decoders X-DCR₁ and X-DCR₂ of FIG. 1.

The X address decoder X-DCR₁ is constructed of a plurality of unit decoders UD_(x0) to UD_(x511) which are made to correspond one-to-one to the word lines W₀ to W₅₁₁, whereas the X address decoder X-DCR₂ is constructed of a plurality of unit decoders UD_(x512) to UD_(x1023) which are similarly made to correspond one-to-one to the word lines W₅₁₂ to W₁₀₂₃.

The respective unit decoders UD_(x0) to UD_(x1023) are made to have constructions identical to each other. FIG. 3 specifically shows only the circuit of the unit decoder UD_(x0).

In the same figure, the unit decoder UD_(x0) is constructed of: the logical MOSFETs Q₁₀ to Q₁₉ which are adapted to be fed with a predetermined combination of the address signals a₀ and a₀ to a₉ ; a precharge MOSFET Q₂₀ which is connected between the common drain of the former two MOSFETs and the power source terminal V_(cc) ; a cut MOSFET Q₂₁ ; and an output MOSFET Q₂₂ which is adapted to be fed with the decoded signal through the cut MOSFET Q₂₁.

The precharge MOSFET Q₂₀ has its gate fed with the control signal (i.e., the chip select signal) Ce, whereas the output MOSFET Q₂₂ has its drain fed with the output of the signal generator φ_(x) -Gen.

This signal generator φ_(x) -Gen is made operative to generate its signal at a high level in response to the address signals a₀ and a₀ to a₉ and a₉ if even one group of the address signals a₀ and a₀ to a₉ and a₉ have their levels varied.

The output of the unit decoder UD_(x0) will now be described.

If all the address signals A₀ to A₉ fed to the external terminals, for example, are varied to the low level, the address signals a₀ to a₉ generated by the address buffer ADB shown in FIG. 1 are accordingly varied to the low level, whereas the address signals a₀ to a₉ are accordingly varied to the high level. As a result, all the parallel-connected MOSFETs Q₁₀ to Q₁₉ are rendered non-conductive. The common drain of the MOSFETs Q₁₀ to Q₁₉ are set at the precharge level, i.e., the high level, as a result of the fact that all of them are non-conductive. The high-level signal of the common drain is fed through the cut MOSFET Q₂₁ to the gate of the output MOSFET Q₂₂. As a result, the output MOSFET Q₂₂ is rendered conductive.

The output signal of the signal generator φ_(x) -Gen, which is preset at the low level, is raised to the high level for a predetermined time period in accordance with the fact that the address signals are varied in the aforementioned manner. This high-level output signal of the generator φ_(x) -Gen is transmitted through the output MOSFET Q₂₂ to the word line W₀. In other words, the word line W₀ is set at the select level. As a result, it is possible to select the memory MOSFET which is coupled to that word line W₀.

In the unit decoder UD_(x0), a parasitic capacitance (not shown) exists between the gate and source of the output MOSFET Q₂₂. This parasitic capacitance is charged through the cut MOSFET Q₂₁. When the output of the signal generator φ_(x) -Gen is varied to the high level after the parasitic capacitance has been charged, the word line W₀ has its signal accordingly varied to the high level. Since the parasitic capacitance substantially acts as a bootstrap capacitance, the gate potential of the MOSFET Q₂₂ is boosted to have a sufficiently high level as a result of the word line W₀ being raised to the high level. As a result, the conductance of the output MOSFET Q₂₂ is increased to a sufficiently high level. The cut MOSFET Q₂₁ is automatically rendered non-conductive by the bootstrap voltage fed from the parasitic capacitance, because its gate is maintained at the level of the power source voltage V_(cc). As a result, the cut MOSFET Q₂₁ acts to prevent the charge of the parasitic capacitance from being discharged.

When the output of the signal generator φ_(x) -Gen is returned from the high level to the low level, the word line W₀ is accordingly lowered to the low level through the output MOSFET Q₂₂.

In case at least one of the address signals A₀ to A₉ is boosted to the high level, at least one of the MOSFETs Q₁₀ to Q₁₉ of the unit decoder UD_(x0) is accordingly rendered conductive. The common drain of the MOSFETs Q₁₀ to Q₁₉ is maintained at the low level even if the MOSFET Q₂₀ is rendered conductive by the precharge pulses Ce. The output MOSFET Q₂₂ is rendered non-conductive by the low-level signal at the common drain. As a result, the word line W₀ is maintained at the low level.

FIG. 4 shows one embodiment of the circuit of the Y address decoder Y-DCR₁ shown in FIG. 1. This Y decoder Y-DCR₁ is constructed of unit decoders UD_(y0) to UD_(y15) and logical circuits LG₀ to LG₁₅.

The unit decoders and the logical circuits are made so that all of the unit decoders are identical to one another and all of the logical circuits are identical to one another. FIG. 4 specifically shows the constructions of the unit decoders UD_(y0) and the logical circuit LG₀.

The unit decoder UD_(y0) is constructed of: logical MOSFETs Q₃₀ to Q₃₃ which are connected in parallel with one another and which are adapted to be fed with a predetermined combination of the address signals a₁₀ and a₁₀ to a₁₃ and a₁₃, a precharge MOSFET Q₃₄ which is connected with the common drain of the former MOSFETs; a cut MOSFET Q₃₅ and an output MOSFET Q₃₆ which is adapted to be fed with the decoded signals through the cut MOSFET Q₃₅. The output MOSFET Q₃₆ has its drain coupled to the output terminal of the signal generator φ_(y) -Gen. The signal generator φ_(y) -Gen is made to have a construction similar to that of the generator φ_(x) -Gen to generate a high-level signal for a predetermined time period if any one group of the address signals a₁₀ and a₁₀ to a₁₄ and a₁₄ has its level varied.

The output signals C₀ to C₁₅ of the respective unit decoders of FIG. 4 are partly used as the select signals of the multiplexors shown in FIG. 1 and partly applied to the gates of the MOSFETs Q₃₇ and Q₃₈ of the logical circuits LG₀ to LG₁₅. The MOSFETs Q₃₇ and Q₃₈ of the respective logical circuits have their drains respectively fed with the address signals a₁₄ and a₁₄. From the sources of the respective MOSFETs Q₃₇ and Q₃₈ of each of the logical circuits, there are generated the decoded signals C₀, C₁₅₀₀ and so on which act as the AND outputs.

For example, if the address signals A₁₀ to A₁₃ are varied to the low level whereas the address signal A₁₄ is varied to the high level, the internal address signals a₁₀ to a₁₃ and a₁₄ fed from the address buffers shown in FIG. 1 are accordingly varied to the low level, whereas the address signals a₁₀ to a₁₃ and a₁₄ are accordingly varied to the high level so that the parallel-connected MOSFETs Q₃₀ to Q₃₃ of the unit decoder UD_(y0) are rendered non-conductive while the output MOSFET Q₃₆ is rendered conductive.

At this time, the high-level signal is generated from the signal generator φ_(y) -Gen by the changes in the address signals. This high-level signal of the generator φ_(x) -Gen is transmitted to the gates of the MOSFETs Q₃₇ and Q₃₈ through the output MOSFET Q₃₆ of the unit decoder UD_(y0). As a result, the MOSFET Q₃₈ is rendered conductive. The high-level address signal a₁₄ fed to the drain of the MOSFET Q₃₈ is fed out through the same MOSFET Q₃₈. In short, the high-level output signal C₀ and the high-level decoded signal C₀₁ are generated by the decoder Y-DCR₁.

FIG. 5 is a circuit diagram showing one embodiment of the ECC circuit of FIG. 1.

A logical operation circuit ELG responds to the read signals D₀ ' and D₀ ' to D₃₁ ' and D₃₁ ', and P₀ and P₀ to P₅ and P₅ of 38 bits from the memory arrays thereby to form the syndromes S₀ to S₅ for designating the error bits from a predetermined combination of exclusive ORs.

The respective parity check bits P₀ to P₅ of 6 bits of the information of 38 bits written in the memory arrays have their values predetermined by the data signals of 32 bits and a suitable check matrix.

The following Table 1 tabulates one example of the check matrix:

                                      TABLE 1                                      __________________________________________________________________________     Check Matrix                                                                   __________________________________________________________________________         Information Bits                                                           Syn-                                                                               Bit No.                                                                    dromes                                                                             D.sub.0                                                                          D.sub.1                                                                          D.sub.2                                                                          D.sub.3                                                                          D.sub.4                                                                          D.sub.5                                                                          D.sub.6                                                                          D.sub.7                                                                          D.sub.8                                                                          D.sub.9                                                                          D.sub.10                                                                          D.sub.11                                                                          D.sub.12                                                                          D.sub.13                                                                          D.sub.14                                                                          D.sub.15                                                                          D.sub.16                                                                          D.sub.17                                                                          D.sub.18                                                                          D.sub.19                                                                          D.sub.20                 __________________________________________________________________________     S.sub.0                                                                            1 1 1 1 1                       1  1  1  1         1                                                                    1         1                       S.sub.1                                                                            1         1 1 1 1               1  1  1  1                                 S.sub.2                                                                              1       1       1 1  1        1                  1                                                                    1                                 S.sub.3 1       1     1       1  1     1               1                                                                    1                                 S.sub.4   1       1     1     1           1            1                                                                    1                                 S.sub.5     1       1      1     1           1                                 __________________________________________________________________________                  Information Bits                 Parity Bits                              Syn-                                                                               Bit No.                          Bit No.                                   dromes                                                                             D.sub.21                                                                          D.sub.22                                                                          D.sub.23                                                                          D.sub.24                                                                          D.sub.25                                                                          D.sub.26                                                                          D.sub.27                                                                          D.sub.28                                                                          D.sub.29                                                                          D.sub.30                                                                          D.sub.31                                                                          P.sub.0                                                                          P.sub.1                                                                          P.sub.2                                                                          P.sub.3                                                                          P.sub.4                                                                          P.sub.5                 __________________________________________________________________________             S.sub.0                                                                            1                    1  1        1                                         S.sub.1                                                                               1  1  1  1              1       1                                       S.sub.2                                                                               1  1        1  1  1     1  1      1                                     S.sub.3                                                                            1  1     1     1  1                    1                                   S.sub.4   1     1  1        1     1          1                                 S.sub.5                                                                            1        1  1     1  1  1  1  1            1                       __________________________________________________________________________

In the Table 1, flags 1 are attached to the bits to be referred to.

The following Table 2 tabulates a specified example of the written data W which is to be written in the memory arrays. In the Table 2, incidentally, characters B₀ to B₃₁ are attached to the data signals, whereas characters BP₀ to BP₅ are attached to the parity signals.

                                      TABLE 2                                      __________________________________________________________________________     (W)                                                                            __________________________________________________________________________     B.sub.0                                                                          B.sub.1                                                                          B.sub.2                                                                          B.sub.3                                                                          B.sub.4                                                                          B.sub.5                                                                          B.sub.6                                                                          B.sub.7                                                                          B.sub.8                                                                          B.sub.9                                                                          B.sub.10                                                                          B.sub.11                                                                          B.sub.12                                                                          B.sub.13                                                                          B.sub.14                                                                          B.sub.15                                                                          B.sub.16                                                                          B.sub.17                                                                          B.sub.18                                                                          B.sub.19                                                                          B.sub.20                                                                          B.sub.21                  __________________________________________________________________________     1 1 1 1 1 0 0 0 0 0 0  0  0  0  1  1  1  1  1         1                                                                    1         1                        __________________________________________________________________________             B.sub.22                                                                          B.sub.23                                                                          B.sub.24                                                                          B.sub.25                                                                          B.sub.26                                                                          B.sub.27                                                                          B.sub.28                                                                          B.sub.29                                                                          B.sub.30                                                                          B.sub.31                                                                          BP.sub.0                                                                          BP.sub.1                                                                          BP.sub.2                                                                          BP.sub.3                                                                          BP.sub.4                                                                          BP.sub.5                  __________________________________________________________________________             0  0  0  0  0  0  1  1  0  0  1  1  1  1  1  1                         __________________________________________________________________________

The values of the respective parity bits are determined by the fact that those bits of the data signals of 32 bits to be written in, which are designated by the Table 1, are referred to. The parity bits to be determined are set at such values that the exclusive OR values of the bit signals referred to and the parity bits to be determined take a value of "0". In other words, the respective parity bits are so determined that the exclusive OR values of the bits to be referred to in view of the Table 1 take a value of "0".

For example, the parity bit BP₀ of the Table 2 is set in the following manner. In order to set the parity bit BP₀, more specifically, the data bits B₀ to B₄, B₁₄ to B₂₁, B₂₈ and B₂₉ of the data bits B₀ to B₃₁ of 32 bits are referred to in accordance with the first row (i.e., the syndrome S₀) of the Table 1. The exclusive OR of the data bits thus referred take the value "1". In accordance with this, the parity bit BP₀ takes the value "1". In other words, the exclusive OR between the data bits referred to and the parity bit BP₀ is made to take the value "0".

In the following, the data is referred to on the basis of the syndromes S₁ to S₅ appearing in the second to fifth rows of the Table 1 so that the parity bits BP₁ to BP₅ are so determined as to have their exclusive OR values reduced to "0".

In case the respective data bits of 32 bits are set to have the values of the Table 2, all the parity bits BP₀ to BP₅ are made to have the value "1", as tabulated in the same table.

As is apparent from the Table 1 and the foregoing explanations relating to the same table, the logical equations for determining the syndromes S₀ to S₅ are expressed by the following equations (3) to (8):

    S.sub.0 =B.sub.0 ⊕B.sub.2 ⊕B.sub.3 ⊕B.sub.4 ⊕B.sub.14 ⊕B.sub.15 ⊕B.sub.16 ⊕B.sub.17 ⊕B.sub.18 ⊕B.sub.19 ⊕B.sub.21 ⊕B.sub.28 ⊕B.sub.29 ⊕BP.sub.0   (3);

    S.sub.1 =B.sub.0 ⊕B.sub.5 ⊕B.sub.6 ⊕B.sub.7 ⊕B.sub.8 ⊕B.sub.14 ⊕B.sub.15 ⊕B.sub.16 ⊕B.sub.17 ⊕B.sub.22 ⊕B.sub.23 ⊕B.sub.24 ⊕B.sub.25 ⊕B.sub.30 ⊕BP.sub.1 (4);

    S.sub.2 =B.sub.1 ⊕B.sub.5 ⊕B.sub.9 ⊕B.sub.10 ⊕B.sub.11 ⊕B.sub.14 ⊕B.sub.18 ⊕B.sub.19 ⊕B.sub.22 ⊕B.sub.23 ⊕B.sub.26 ⊕B.sub.27 ⊕B.sub.28 ⊕B.sub.30 ⊕B.sub.31 ⊕BP.sub.2                                             (5);

    S.sub.3 =B.sub.2 ⊕B.sub.6 ⊕B.sub.9 ⊕B.sub.12 ⊕B.sub.13 ⊕B.sub.15 ⊕B.sub.18 ⊕B.sub.20 ⊕B.sub.21 ⊕B.sub.22 ⊕B.sub.24 ⊕B.sub.26 ⊕B.sub.27 ⊕BP.sub.3   (6);

    S.sub.4 =B.sub.3 ⊕B.sub.7 ⊕B.sub.10 ⊕B.sub.12 ⊕B.sub.16 ⊕B.sub.19 ⊕B.sub.20 ⊕B.sub.23 ⊕B.sub.25 ⊕B.sub.26 ⊕B.sub.29 ⊕B.sub.31 ⊕BP.sub.4 (7);

    and

    S.sub.5 =B.sub.4 ⊕B.sub.8 ⊕B.sub.11 ⊕B.sub.13 ⊕B.sub.17 ⊕B.sub.21 ⊕B.sub.24 ⊕B.sub.25 ⊕B.sub.27 ⊕B.sub.28 ⊕B.sub.29 ⊕B.sub.30 ⊕B.sub.31 ⊕BP.sub.5   (8).

Incidentally, the symbols ⊕ appearing in the above logical equations indicate the exclusive OR.

The logical operation circuit ELG shown in FIG. 5 is constructed of logical circuits (not shown) for forming such syndromes S₀ to S₅ as satisfy the foregoing equations (3) to (8). Such logical circuit construction to satisfy such equations could be readily accomplished using well known principles to circuit design for exclusive OR operations. FIG. 6, which is discussed in detail later, gives one example of an exclusive OR circuit which could be used in this construction. Incidentally, the sequence of the exclusive OR compositions of the plural bits can be freely selected. In order to determine the exclusive OR values of the four bits B₀ to B₃, for example, therefore, the output B₀ ⊕B₁ is formed by the first exclusive OR circuit, and the output B₂ ⊕B₃ is formed by the second exclusive OR circuit so that these two outputs thus formed may be fed to the third exclusive OR circuit. As is apparent from the mutual comparisons of the equations (3) to (8), the exclusive OR values of the bits B₁₄ to B₁₇, for example, appear commonly in the equations (3) and (4). The exclusive OR value of the bits B₁₈ and B₁₉ appears commonly in the equations (3) and (5). In order to reduce the number of the logical circuits constructing the logical operation circuit ELG, therefore, the exclusive OR value shared among the respective equations may be formed in advance by the common circuits, respectively.

The defects, which are established in advance in the memory MOSFET, switch MOSFET and signal line to be selected, and the substantial defects, which are caused during the operations of the circuit by the undesired changes in the circuit operating conditions, invite errors in the read out data which are to be fed to the ECC circuit.

An example of the error correcting operation will now be given wherein it is assumed that the memory cells to be written with the write data W which appears in Table 2 are selected and that the read out data R at that time makes such errors as are tabulated in the following Table 3. In other words, it is assumed that the seventh bit B₇ of the read out data R is changed from the value "0" to the value "1".

                                      TABLE 3                                      __________________________________________________________________________     (R)                                                                            __________________________________________________________________________     B.sub.0                                                                          B.sub.1                                                                          B.sub.2                                                                          B.sub.3                                                                          B.sub.4                                                                          B.sub.5                                                                          B.sub.6                                                                          B.sub.7                                                                          B.sub.8                                                                          B.sub.9                                                                          B.sub.10                                                                          B.sub.11                                                                          B.sub.12                                                                          B.sub.13                                                                          B.sub.14                                                                          B.sub.15                                                                          B.sub.16                                                                          B.sub.17                                                                          B.sub.18                                                                          B.sub.19                                                                          B.sub.20                                                                          B.sub.21                  __________________________________________________________________________     1 1 1 1 1 0 0 1 0 0 0  0  0  0  1  1  1  1  1         1                                                                    1         1                        __________________________________________________________________________             B.sub.22                                                                          B.sub.23                                                                          B.sub.24                                                                          B.sub.25                                                                          B.sub.26                                                                          B.sub.27                                                                          B.sub.28                                                                          B.sub.29                                                                          B.sub.30                                                                          B.sub.31                                                                          BP.sub.0                                                                          BP.sub.1                                                                          BP.sub.2                                                                          BP.sub.3                                                                          BP.sub.4                                                                          BP.sub.5                  __________________________________________________________________________             0  0  0  0  0  0  1  1  0  0  1  1  1  1  1  1                         __________________________________________________________________________

The logical operation circuit ELG in the ECC circuit logically calculates the syndromes S₀ to S₅ in accordance with the equations (3) to (8) when it is fed with data R. In the calculating procedures for determining the syndromes S₀ to S₅, the seventh bit B₇ is used in the logical operation to determine the syndromes S₁ and S₄, as is apparent from the Table 1. As a result of the seventh bit B₇ being changed from "0" to "1", the syndromes S₁ and S₄ respectively take the value "1". There is no error in the bits which are to be introduced into the calculating procedures of determining the other syndromes S₀, S₂, S₃ and S₅. As a result, the syndromes S₀, S₂, S₃ and S₅ respectively take the value "0".

When the read out data R tabulated in Table 3 is fed out, more specifically, the bit patterns of the syndromes S₅ to S₀ generated by the logical operation circuit ELG are expressed by "010010". This bit pattern becomes coincident with the bit pattern of the syndromes S₅ to S₀ indicating the seventh bit D₇ in the check matrix of the Table 1. In this check matrix, more specifically, the pattern of the syndromes S₅ to S₀ in the row of the bit D₇ is expressed by "010010", which is coincident with the bit pattern of the syndromes S₅ to S₀ generated from the logical operation circuit. Here, the blank columns in the check matrix are deemed to take the value "0".

As is apparent from the Table 1, the respective signals of 38 bits are set with the plural check bits. The check bits set for one signal have such a pattern as corresponds only to that signal. As a result of the fact that the check matrix is made to have the construction as tabulated in the Table 1, the bit pattern, which is constructed to the syndromes S₅ to S₀ fed from the logical operation circuit ELG shown in FIG. 5, corresponds one-to-one to the positions of the error data bits of the read out data R.

The syndromes S₀ to S₅ generated by the logical operation circuit ELG are fed either directly or through inverters to the decoder DCR. This decoder DCR is made operative to decode the syndromes S₀ to S₅ thereby to generate the decoded signals indicative of the error units. The decoder DCR is constructed of AND gates G₀ to G₃₁ which are made to correspond one-to-one to the data signals of 32 bits, although not especially limited thereto. The respective AND gates G₀ to G₃₁ have their respective inputs so determined as to detect the different bit patterns. Each of the AND gates generates the "0" levels, unless the data bits corresponding thereto are erroneous, and the "1" level if those bits are erroneous. For example, the AND Gate G₀ generates the "1" level signal, if the first unit (or the first bit) signal of the data signals of 32 bits is erroneous, and otherwise the "0" level signal, as is apparent from both the shown connections and the check matrix of the Table 1.

The respective outputs of the decoder DCR, i.e., the outputs of the AND gates G₀ and G₃₁ and the information bits B₀ to B₃₁ of the read out data R are respectively fed to the exclusive OR circuits EOR₀ to EOR₃₁. These exclusive OR circuits EOR₀ to EOR₃₁ form the error-corrected output data D₀ to D₃₁ which are to be fed to the multiplexor MPX₀ shown in FIG. 1. If an error exists in the seventh data signal shown in the Table 3, for example, the output of the AND gate G₆ accordingly take the value "1" so that the seventh signal read out erroneously as the aforementioned value "1" is inverted from the value "1" to the value "0" by the exclusive OR circuit EOR₇. In other words, the data signal E₆ is corrected to the right value.

Incidentally, the ECC circuit according to the present embodiment is enabled to correct an error of 1 bit but will not correct an error of 2 or more bits. Although it is possible to provide an ECC circuit which can correct an error of 2 or more bits, the construction is complicated, and the number of the elements is increased. In this case, moreover, the parity bits have to be remarkably increased.

FIG. 6 shows one specific embodiment of the inside of the logical operation circuit ELG and the exclusive OR circuit to be used for the error correction. This exclusive OR circuit is constructed of p-channel type MOSFETs Q_(p1) to Q_(p4) and n-channel MOSFETs Q_(n1) and Q_(n2) are respectively arranged in series, and the MOSFETs Q_(p3) and Q_(p4) and the MOSFETs Q_(n3) and Q_(n4) are likewise arranged in series. The node between the MOSFETs Q_(p2) and Q_(n1) and the node between the MOSFETs Q_(p4) and Q_(n3) are commonly connected to generate an output OUT. The MOSFETs Q_(n1) and Q_(n2) have their gates respectively fed with input signals a and b, and the MOSFETs Q_(n3) and Q_(n4) have their gates respectively fed with input signals a and b.

On the other hand, the MOSFETs Q_(p1) and Q_(p4) have their gates respectively fed with the input signals a and b, and the MOSFETs Q_(p2) and Q_(p3) have their gates respectively fed with the input signals b and a.

Now, when both the input signals a and b are at the high ("1") level, the MOSFETs Q_(n1) and Q_(n2) are rendered conductive to vary the output OUT to the low ("0") level. On the other hand, when both the input signals a and b are at the high level, the MOSFETs Q_(n3) and Q_(n4) are rendered conductive to likewise vary the output OUT to the low level.

Moreover, when the input signal a (or a) is at the low level and the input signal b (or b) is at the low level, the MOSFET Q_(p3) (or Q_(p1)) and the MOSFET Q_(p4) (or Q_(p2)) are rendered conductive to boost the output OUT to the high level. When the input signals a and b have their levels thus made coincident, the output OUT is varied to the low level. In the case of inconsistency, on the other hand, the output OUT is raised to the high level.

The exclusive OR circuit shown has a small number (e.g., 8) of elements and allows no current to flow between the power source voltage V_(cc) and the ground potential. Therefore, it can enjoy an advantage that its power consumption is remarkably low.

The logical operation circuit ELG of the ECC circuit internally conducts such logical operations as are expressed by the foregoing logical equations (3) to (8) so as to form the syndromes S₀ to S₅, as has been described hereinbefore. In other words, a number of the exclusive OR operations are conducted in the logical operation circuit.

By using the exclusive OR circuit shown in FIG. 6 as the logical circuit constructing the logical operation circuit ELG, it becomes possible to construct the logical operation circuit using a relatively small number of the elements and to reduce the power consumption to a relatively low level.

As has been described with reference to FIG. 2, moreover, the data read out of the left-hand input and output terminals of the respective sense amplifiers always become a positive-phase output D_(n) ' whereas the data read out of the right-hand input and output terminals always become a negative-phase output D_(n) ' as a result of the fact that the inverted information is written in the right-hand memory arrays M-ARY₃ and M-ARY₄. Accordingly, the data read out of the sense amplifiers can be fed directly in the form it is in to the exclusive OR circuits in the logical operation circuit ELG so that this circuit ELG can be further simplified.

In the circuit according to this embodiment, as has been described hereinbefore, the respective information and parity signals constructing one set of the data are extracted from the respective memory groups (i.e. 38 memory groups), each of which is constructed of the 32 memory cells (i.e., the memory MOSFETs).

Each of the memory cell groups is constructed of the 32 memory MOSFETs which have their respective gates coupled to one word line and their drains and sources connected in series, as is apparent from FIG. 2. The memory MOSFETs are selected one by one from the respective memory cell groups in response to the decoded signals fed from the X-decoder X-DCR₁ or X-DCR₂ and the decoded signals fed from the Y decoder Y-DCR₁. In this case, the orders or positions of the respective memory cell groups of the memory MOSFETs to be selected are identical to each other. In other words, the plural signals constructing one set of data are read out of the memory MOSFETs which are located at every 32 ones and which are coupled to one word line.

In the large-capacity memory of the monolithic IC type, generally speaking, a defect is liable to occur simultaneously in the plural memory cells which are adjacent to each other. The defect can be caused, for example, by the incompleteness which is inevitable in the IC fabrication technique. The mask films, which are made of photoresist for selectively etching insulating and/or conducting films, for example, are not always produced to a satisfactory level because they are adversely affected by the irregularity in their material or by dust. If defects such as undesirable roughnesses or pin holes exist in the pattern of the mask film which is used, they are transferred to the insulating or conducting films which that mask film is used with. If the mask film is to be used for implanting impurity ions, these impurity ions may be introduced into the undesired portions of the surface of the semiconductor substrate or may not be introduced into the desired portion. Also, it is possible that the semiconductor substrate to be used intrinsically has a defect, e.g., a crystal defect, which will deteriorate the characteristics of the semiconductor elements to be formed thereon.

In a large-capacity memory, the semiconductor elements and the wiring layers are made to have fine sizes so as to ensure high integration. As a result, a plurality of circuit elements are liable to be included in the area of one defect.

For the mask type ROM shown in FIGS. 2A to 2C, it is possible to switch the column switch MOSFETs S_(a0) and S_(a1), for example, in response to the common decoded signal C₀ and to the outputs of the column switch MOSFETs S_(a0) and S_(a1) to different sense amplifiers. In this case, the pieces of information of the memory MOSFETs M₀ and M₁, for example, can be simultaneously extracted by boosting the potentials of the word line W₀ and the decoded signals C₀ and C₀₁ to the high level. In this case, however, the memory MOSFETs adjacent to each other are selected. Accordingly, the possibility exists that the pieces of information of 2 or more bits simultaneously extracted become erroneous. If these two bits are to be corrected in the ECC circuit, as has been described hereinbefore, many parity bits required. For example, if the ECC circuit is to have 2-bit correcting capability, the number of the parity bits is significantly increased to twice that necessary for 1-bit correction. Therefore, this is generally not practical because the substantial data storage capacity of the memory is accordingly remarkably reduced.

To avoid this problem of a 2-bit error produced by adjacent memory cells, according to the present invention, one group of data to be fed to the ECC circuit is constructed of signals which are read out of the plural memory cells formed in scattered positions on the semiconductor chip. The embodiment shown in FIGS. 2A to 2C will be described as an example of this. To begin with, adjacent memory cells (i.e., the memory MOSFETs) e.g., the MOSFETs M₀ and M₁ are not simultaneously selected. As a result of the fact that the respective column switch MOSFETs are switched in response to the different decoded signals, it is possible to always extract nothing but the information of 1 bit. Since such groups are formed as a plurality, it is possible to simultaneously extract the information of plural bits. Since the groups are made to have similar constructions, there are always formed between two memory MOSFETs to be selected such a number of the memory MOSFETs as can construct one side of one group. As a result, the distance between the memory MOSFETs to be selected is made to have a relatively large value. In other words, the plural bits constructing the data fed to the ECC circuit are extracted from the memory MOSFETs which are formed in scattered positions on the chip. The plural defective cells formed in a concentrated manner are therefore scattered into plural groups of data. As a result, the error bits included in one group of data can be reduced to about 1 bit at the most. Thus, even the ECC circuit described previously having a low error correcting ability (e.g., 1 bit correcting ability) can correct the error bit. As a result, the fabrication yield of the semiconductor memory can be significantly improved.

In the semiconductor memory according to the embodiment shown in FIGS. 2A to 2C, a desired number of the memory MOSFETs are selected from the plural memory MOSFETs (i.e., the memory cells) coupled to one word line so that a necessary number of bits can be fed to the ECC circuit by the single addressing operation. Thus, the information can be read out at a relatively high speed.

In accordance with the present invention, the ECC circuit having a low correcting ability as described above can be used to simplify its circuit construction and to reduce the number of the parity bits. As a result, it is possible to enlarge the substantial data storage capacity.

It is to be understood that the present invention should not be limited to the embodiments thus far described. In the circuit of the embodiment shown in FIGS. 2A to 2C, for example, of the MOSFETs constructing the dummy cells, the MOSFETs Q_(d1) and Q_(d2) may be replaced by the single MOSFET which is made to have a conductance equal to the composite conductance of those two MOSFETs. In case the increase in the power consumption is allowed, moreover, the MOSFET Q_(s) may be dispensed with. In addition, the MOSFET Q_(s) can also be dispensed with by applying a signal such as the address signal a₉ to one of the MOSFETs Q_(d1) and Q_(d2) and a signal such as the decoded signal C₀ to the other. In this modification, there is no increase in the power consumption. Furthermore, the information to be written in the memory array M-ARY₃ and M-ARY₄ does not have to be inverted. In this modification, however, it is necessary to accordingly modify the ECC circuit. Of course, if desired, an alternative ECC circuit to the one shown in FIG. 5 may be used.

Although the present invention has been described in the context of a horizontal mask ROM, it is to be understood that it could also be applied to a vertical type mask ROM and a programmable ROM (e.g., EPROM or EAROM). Further, it can also be applied to a random access memory (i.e., RAM). Moreover, the arrangement of the memory cell to be stored with plural bits (including parity bits) constructing one set of data may be made such that the memory cells are spaced alternately by at least one of them.

It is to be understood that the above-described arrangements are simply illustrative of the application of the principles of this invention. Numerous other arrangements may be readily devised by those skilled in the art which embody the principles of the invention and fall within its spirit and scope. 

We claim:
 1. A semiconductor integrated circuit device including a plurality of memory cells formed in one semiconductor chip, comprising:means for forming a predetermined address signal; selecting means coupled to said forming means and for selecting a plurality of predetermined ones of said plurality of memory cells at a time in response to said predetermined address signal for reading out a predetermined set of data having check bits from said predetermined ones of said plurality of memory cells; and an error correcting code circuit formed in said semiconductor chip and coupled to said selecting means to receive said predetermined set of data having check bits from said selecting means, wherein said predetermined ones of the memory cells, for delivering said predetermined set of data having check bits, are located in said semiconductor chip so as to be spaced from each other by a distance of at least one of said memory cells.
 2. A semiconductor integrated circuit device according to claim 1, wherein each of said memory cells includes a MOSFET having a gate electrode for receiving a selection signal and an electrode.
 3. A semiconductor integrated circuit device according to claim 2, wherein said selecting means includes first means for generating selection signals to be supplied to said gate electrodes in said predetermined ones of said plurality of memory cells.
 4. A semiconductor integrated circuit device according to claim 3, wherein said selecting means further includes second means for selecting said electrodes of said predetermined ones of said plurality of memory cells.
 5. A semiconductor integrated circuit device according to claim 4, further comprising external terminals for receiving an external address signal, and wherein said forming means includes an address buffer circuit responsive to said external address signal for forming said predetermined address signal.
 6. A semiconductor integrated circuit device according to claim 5, wherein said first and second means includes address decoder circuits.
 7. A semiconductor integrated circuit device according to claim 6, wherein said MOSFET includes a read only memory MOSFET.
 8. A semiconductor integrated circuit device comprising:a plurality of memory arrays formed in a semiconductor chip, wherein each of said memory arrays includes a plurality of memory cells for holding data, said memory cells being spaced apart from one another by a predetermined distance; selecting means responsive to a predetermined address signal from said address forming means for selecting at least one memory cell from each of said memory arrays at a time, to form a predetermined set of data having check bits; and an error correcting code circuit formed in said semiconductor chip and coupled to receive said predetermined set of data from said memory arrays, wherein the selected memory cells are located to be spaced from one another by a distance greater than said predetermined distance.
 9. A semiconductor integrated circuit device according to claim 8, wherein each of said memory arrays includes a plurality of word lines and a plurality of data lines, and wherein each of said memory cells includes a MOSFET having a gate electrode coupled to one of said word lines and an electrode coupled to one of said data lines.
 10. A semiconductor integrated circuit device according to claim 9, wherein said selecting means includes first means for selecting one of a plurality of word lines formed in one of said memory arrays, and second means for selecting one of the memory cells coupled to the selected word line.
 11. A semiconductor integrated circuit device according to claim 10, wherein the second means selects at least one of the data lines formed in one of the memory arrays.
 12. A semiconductor integrated circuit device according to claim 11, wherein said address forming means includes an address buffer circuit for forming said address signals.
 13. A semiconductor integrated circuit device according to claim 12, wherein each of said first and second means includes an address decoder circuit.
 14. A semiconductor integrated circuit device according to claim 13, further comprising external terminals for receiving external address signals, and wherein said address buffer circuit forms said address signals in response to said external address signals.
 15. A semiconductor integrated circuit device according to claim 14, wherein said MOSFET in said each of said memory cells includes a read only memory MOSFET.
 16. A semiconductor integrated circuit device including a plurality of memory cells formed in one semiconductor chip, comprising:means for forming a predetermined address signal; selecting means, coupled to said forming means, for selecting a plurality of predetermined ones of said plurality of memory cells at a time in response to said predetermined address signal for reading out a predetermined set of data having check bits from said predetermined ones of said plurality of memory cells; an error correcting code circuit, formed in said semiconductor chip and coupled to said selecting means, for receiving said predetermined set of data having check bits from said selecting means; and output means, coupled to said error correcting code circuit, for outputting output data from said error correcting code circuit by dividing said output data into a predetermined bit number, in a time sharing manner, wherein said predetermined ones of the memory cells, for delivering said predetermined set of data having check bits, are located in said semiconductor chip so as to be spaced from each other by a distance of at least one of said memory cells.
 17. A semiconductor integrated circuit device according to claim 16, further comprising external output terminals whose number is equal to said predetermined bit number.
 18. A semiconductor integrated circuit device according to claim 16, further comprising address means, coupled to said output means, for providing a plurality of address signals to said output means in a time sharing manner.
 19. A semiconductor integrated circuit device according to claim 18, wherein each of said memory cells includes a MISFET having a gate electrode, for receiving a selection signal, and an electrode.
 20. A semiconductor integrated circuit device according to claim 19, wherein said MISFET comprises a read only memory MOSFET.
 21. A semiconductor integrated circuit device according to claim 19, wherein said output means includes a multiplexor, coupled to said error correcting code circuit, and an output buffer coupled between said multiplexor and said external output terminals.
 22. A semiconductor integrated circuit device according to claim 21, wherein said address means includes a decoder for providing said plurality of address signals in accordance with a plurality of external address signals supplied in a time sharing manner.
 23. A semiconductor integrated circuit device including a plurality of memory cells formed in one semiconductor chip, comprising:means for forming a predetermined address signal; selecting means, coupled to said forming means, for selecting a plurality of predetermined ones of said plurality of memory cells at a time in response to said predetermined address signal for reading out a predetermined set of data having check bits from said predetermined ones of said plurality of memory cells; an error correcting code circuit, formed in said semiconductor chip and coupled to said selecting means, for receiving said predetermined set of data having check bits from said selecting means; and output means, coupled to said error correcting code circuit, for outputting output data from said error correcting code, circuit by dividing said output data into a predetermined bit number, in a time sharing manner.
 24. A semiconductor integrated circuit device according to claim 23, further comprising external output terminals whose number is equal to said predetermined bit number.
 25. A semiconductor integrated circuit device according to claim 24, further comprising address means, coupled to said output means, for providing a plurality of address signals to said output means in a time sharing manner.
 26. A semiconductor integrated circuit device according to claim 25, wherein each of said memory cells includes a MISFET having a gate electrode, for receiving a selection signal, and an electrode.
 27. A semiconductor integrated circuit device according to claim 26, wherein said MISFET comprises a read only memory MOSFET.
 28. A semiconductor integrated circuit device according to claim 26, wherein said output means includes a multiplexor, coupled to said error correcting code circuit, and an output buffer coupled between said multiplexor and said external output terminals.
 29. A semiconductor integrated circuit device according to claim 28, wherein said address means includes a decoder for providing said plurality address signals in accordance with a plurality of external address signals supplied in a time sharing manner. 